Two-dimensional multi-products multi-tools advanced process control

ABSTRACT

The present disclosure provides a method. The method includes gathering advanced process control (APC) data from a subset of available wafers and a subset of available processing chambers. The method includes establishing a matrix that contains a plurality of cells. The cells each correspond to one of the available wafers and one of the available processing chambers. The matrix is partially filled by populating cells for which the APC data has been gathered. The method includes determining a plurality of chamber-coverage-rate (CCR) parameters associated with the matrix. The method includes optimizing the CCR parameters through an iteration process to obtain optimized CCR parameters. The method includes predicting an APC data value for a designated cell of the matrix based on the optimized CCR parameters. The designated cell is an empty cell before the predicting and is populated by the predicting.

BACKGROUND

Semiconductor integrated circuits are produced by a plurality ofprocesses in a wafer fabrication facility (fab). As examples, theseprocesses may include thermal oxidation, diffusion, ion implantation,rapid thermal processing (RTP), chemical vapor deposition (CVD),physical vapor deposition (PVD), epitaxy, etch, and photolithography. Asperformance requirements and throughput demands increase, semiconductorfabrication process control has become increasingly crucial. However, asprocess geometries decrease, it may be challenging to keep processvariations at acceptable levels. As such, the processes may suffer fromlosses in tool productivity, increased operator interaction, yield loss,and higher rework rates, all possibly leading to higher costs.

Advanced Process Control (APC), which may include models and feedbacksystems among other process control techniques, has been widely used tohelp alleviate some of the variations. It is also desirable to utilizeAPC techniques to establish models and use these models to predictprocess performance. However, existing APC techniques may suffer fromshortcomings such as heavy dependence on human input and manualcalculations, inaccurate predictions, and the need for multiple modelrevisions. These shortcomings tend to cause delay in the manufacturingprocess and therefore increases fabrication costs.

Consequently, although existing APC techniques have been generallyadequate for their intended purposes, they have not been entirelysatisfactory in all respects.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects of the present disclosure are best understood from the followingdetailed description when read with the accompanying figures. It isemphasized that, in accordance with the standard practice in theindustry, various features are not drawn to scale. In fact, thedimensions of the various features may be arbitrarily increased orreduced for clarity of discussion.

FIG. 1 illustrates a flowchart of an advanced process control (APC)method according to various aspects of the present disclosure.

FIG. 2 illustrates a matrix according to various aspects of the presentdisclosure.

FIG. 3 illustrates a flowchart of an APC method according to variousaspects of the present disclosure.

FIGS. 4A and 4B illustrate a grid and a resized grid of wafer-chambercombinations according to various aspects of the present disclosure.

FIG. 5 illustrates a flowchart of a method of optimizing a plurality ofground rules according to various aspects of the present disclosure.

FIG. 6 illustrates a flowchart of another method of optimizing aplurality of ground rules according to various aspects of the presentdisclosure.

FIG. 7 illustrates a table showing optimization iterations according tovarious aspects of the present disclosure.

FIG. 8 illustrates an integrated circuit fabrication system according tovarious aspects of the present disclosure.

DETAILED DESCRIPTION

It is to be understood that the following disclosure provides manydifferent embodiments, or examples, for implementing different featuresof the invention. Specific examples of components and arrangements aredescribed below to simplify the present disclosure. These are, ofcourse, merely examples and are not intended to be limiting. Inaddition, the present disclosure may repeat reference numerals and/orletters in the various examples. This repetition is for the purpose ofsimplicity and clarity and does not in itself dictate a relationshipbetween the various embodiments and/or configurations discussed.

FIG. 1 is a flowchart of an APC method 20 for improving semiconductormanufacturing performance according to an embodiment of the presentdisclosure. It is understood that the APC method 20 may includeadditional steps that can be performed before, during, or after theblocks shown in FIG. 1.

The method 20 includes block 25 in which data is gathered. The data maycome from any semiconductor device product, for example an IntegratedCircuit (IC) chip. The data gathered is with respect to a specificprocess or recipe, for example an etching process, an oxidation process,a diffusion process, a deposition process, a lithography process, oranother applicable process. As long as the process or recipe is thesame, the data may come from different products or wafers. The gathereddata may also come from different processing chambers. The gathered datamay be limited. For example, the gathered data may only contain datafrom three out of ten available processing chambers. Hence, the gathereddata may also be referred to as limited existing data/experience.

The method 20 continues with block 30 in which a guessing model isdetermined. The guessing model is a mathematical model that is used topredict future process performance based on existing data. For example,the guessing model can be used to establish the initial settings of achamber that has not been used to process the product in a manner suchthat the expected process performance of the product in that chamberwill be within desired control limits. The guessing model may be an“analysis of covariance (ANCOVA)” model, or an “expectationmaximization” model, or another suitable model. In one simple example,the guessing model may be y=a*x+b, where y represents the processperformance, x represents the process settings (tool settings), and aand b have adjustable values. It is understood that the guessing modelmay include other complex mathematical equations, such as second orthird order equations with a plurality of variables. Here, the block 30takes the existing gathered data from block 25 as inputs and generatesthe guessing model as an output.

The method 20 continues with block 35 in which a set ofMulti-products/Multi-tools APC ground rules are set. These APC groundrules help set up the guessing model in block 30 such that the guessingresults will be 100% within the desired control limits with only onetry. In other words, once the guess model is established andinitialized, it does not need to be revised or tweaked any further.Within a single attempt, the corresponding process associated with theguessing model will be 100% within the control limits. These groundrules may involve calculations and automations, which can all be carriedout by a computer system and is therefore fast.

Prior APC methods often times require human engineers to manuallycalculate and initialize the guessing model. Since it involvescalculations by humans, it is a time-consuming process and causes delayto semiconductor fabrication. Also, human engineers are prone to makemistakes in calculation, and consequently the guessing model wouldfrequently suffer from poor performance such as inaccurate predictionresults. When that happens, the engineer may need to revise the model.During that time, fabrication is suspended, which increasesmanufacturing inefficiency and wastes fabrication resources.Furthermore, these calculations are dependent on the experience andskills of the particular engineer who is performing the calculations.Therefore, the guessing models were not derived by an empirical and/orsystematic approach. The quality of the guessing model could varydramatically depending on the specific engineer. In comparison, the APCmethod 20 is empirical and systematic, and is not dependent on theskills of the engineer but is carried out by an automatedmachine/system. As a result, what would have taken multiple hourspreviously can now be done in a matter of seconds, and with improvedaccuracy.

FIG. 2 is a matrix 50 that helps illustrate some of the APC ground rulesaccording to the various aspects of the present disclosure. The matrix50 includes rows 60-67 and columns 70-78. The rows 60-67 representguessing model data with respect to a specific recipe/process acrossdifferent products, respectively. The columns 70-78 represent guessingmodel data collected with respect to a specific recipe/process acrossdifferent processing chambers, respectively. Thus, anintersection—referred to as a cell—between one of the rows 60-67 and oneof the columns 70-78 represents guessing model data collected withrespect to the specific recipe/process for a particular product at agiven processing chamber. As an example, the matrix 50 may involve agate etching process, which can be modeled by y=a*x+b, where y isetching depth, and x is etching tool settings, a is an adjustablecoefficient, and b is an adjustable constant (also referred to as anoffset). A cell 80 formed by the intersection of row 60 and column 70represents the value of “b” in the above equation for product TMY298 atthe processing chamber BESTL3#2. It is understood that for othermatrices, the cells may represent other APC-related variables,coefficients, and/or offsets.

It can be seen that the matrix 50 includes populated cells containingdata as well as empty cells containing no data. These empty cellsindicate that the recipe/process has not been run for the associatedproduct at the corresponding chamber yet, therefore no data is availablefor that cell. For example, a cell 81 formed by the intersection of row64 and column 76 contains no data. This means that no gate etchingprocess has been performed for the product TMZA26 at the processingchamber NESTLA#1.

The data shown in the matrix 50 must also have been gathered from withina predefined recent period, for example within the past 30 days. If thedata associated with a particular chamber and product is older than thispredefined recent period, then the matrix 50 displays the cell ascontaining no data—because data that is too old is considered unreliablefor purposes of making accurate predictions and is therefore discardedby the matrix.

Therefore, for every product, a “chamber-coverage-rate” (CCR) can bedetermined. The CCR for any product refers to how many chambers have runthe product recently (e.g., within the past 30 days, or anotherpredefined period) out of how many available chambers there are. Asexamples, referring to row 60, the CCR for the TMY298 product is 9 outof 9 (or 100%), since all 9 cells in row 60 contain data. Referring torow 64 as another example, the CCR for the TMZA26 product is 6 out of 9(or 66.7%), since only 6 out of 9 cells in row 64 contain data. As anadditional example, referring to row 67, the CCR for the TMY737 productis 5 out of 9 (or 55.6%), since only 5 out of 9 cells in row 67 containdata.

One of the goals of the APC technique of the present disclosure is to“expand” the rows horizontally (and/or the columns vertically) topopulate the empty cells with prediction results. In other words, usingexisting guessing model data available (the already populated cells ofthe matrix 50), the APC technique herein will determine the values ofthe empty cells of the matrix. By doing so, the APC technique canquickly initialize the guessing model for any given product and givenprocess chamber, even if no wafer has been run in that chamber yet. Asdiscussed above, this will shorten processing time and reducefabrication costs.

The APC technique herein involves several ground rules. The first groundrule is to ascertain which parts or products can constitute a validreference part that can be used to calculate the values of the emptycells of the matrix. For a specific part or product to be qualified intothe matrix 50 (and thus constitute a reference part), it must pass aminimum CCR threshold, referred to as CCR_by_part_min. Using the matrix50 as an example, if CCR_by_part_min is set to be 100%, then only rows60-63 can qualify into the matrix 50 to be used as viable referencedata. On the other hand, if the CCR_by_part_min is set to be 60%, thenrow 64 also qualifies into the matrix 50, since row 65 has a CCR of66.7%. But rows 65-67 still cannot qualify into the matrix 50. If theCCR_by_part_min is set to be 50%, then all the rows 60-67 can qualifyinto the matrix 50 and be used as reference data.

It can be seen that setting the value for the minimum CCR thresholdCCR_by_part_min entails a tradeoff between data availability andprediction accuracy. If CCR_by_part_min is set to be a high value, thenonly a few of the data sets (rows) can qualify into the matrix to becomereference data. These data sets represent the best data available, whichwould facilitate better prediction by a guessing model. However, since ahigh CCR_by_part_min threshold makes it tough for a data set to qualifyinto the matrix 50, there may not be sufficient amount of data toestablish a valid guessing model. On the other hand, if CCR_by_part_minis set to be a low value, then much more data can get into the matrix50, meaning that having a sufficient amount of data is no longer aproblem. But since the requirements for getting into the matrix 50 arelowered, bad or inaccurate data may also get into the matrix. This maylead to an inaccurate guessing model having poorer prediction accuracy.As such, CCR_by_part_min needs to be optimally set, which can be neithertoo high nor too low.

The second ground rule is self-chamber-coverage-rate (CCR_self_min) andis defined as: (the number of non-out-of-date chambers/cells for aparticular product) divided by (the number of totally available chambersfor that product). This means that in order to make a valid predictionfor a product, the product itself must have already gone throughprocessing at a sufficient number of chambers. Using the matrix 50 as anexample, if CCR_self_min is set to be 60%, then only the rows 60-64 passthe CCR_self_min threshold and can therefore have the APC techniqueapplied to fill in their remaining empty cells; whereas rows 65-67 failthe CCR_self_min and are thus considered to not have been processed byenough chambers for the APC technique to be applied. If CCR_self_min isset to be 50%, then all the rows 60-67 pass the CCR_self_min threshold,and can all have the APC technique applied to populate their respectiveremaining empty cells. Stated differently, setting the value ofCCR_self_min determines what products are viable candidates for whichthe APC predictions can be made.

The two ground rules discussed above (CCR_by_part_min and CCR_self_min)can also be referred to as rules pertaining to an inside loop. The lastground rule is the average-chamber-coverage-rate (CCR_avg) of a matrix,which can also be referred to as a rule pertaining to a gating loop, ora two-dimensional CCR rule. CCR_avg is defined as: (the number ofnon-out-of-date chambers/cells for all products) divided by (allavailable chambers/cells for a downsized matrix). To elaborate, thematrix 50 may be a downsized matrix already. The original matrix mayhave more rows and/or columns. For example, the original matrix may havecontained another row in addition to rows 60-67. However, that extra rowmay not have met the CCR_by_part_min ground rule to qualify into thematrix (e.g., the extra contains no data or only data for 1 or 2chambers). Therefore, that extra row is discarded, and thus the originalmatrix is downsized or transformed into the new matrix, which is thematrix 50 as illustrated in FIG. 2. Similarly, the matrix 50 can stillbe downsized by removing rows based on the values of CCR_self_min andCCR_by_part_min.

To calculate CCR_avg using the matrix 50 as an example, the number ofnon-out-of-date chambers/cells is 57, which is obtained by summing allthe cells that contain data. The number of available chambers/cells forthe (downsized) matrix is 72, which is obtained by summing all the cellsof the matrix (8 rows×9 chambers=72). Thus, the CCR_avg of the matrix 50is 57/72=79.2%. CCR_avg represents a confidence index. A minimumthreshold value of an acceptable CCR_avg—designated as CCR_avg_min—willalso be calculated by the APC technique of the present disclosure.

FIG. 3 is a flowchart of an APC method 100 that illustrates how theminimum thresholds of all three of the ground rules CCR_by_part_min,CCR_self_min, and CCR_avg_min are automatically determined. The method100 includes block 105 in which limited data is gathered. The limiteddata may come from chambers in which the product has been processedrecently, or from chambers in which other products have been processed.

The method 100 continues with block 110 in which APC specificationlimits are set. For example, for a poly etching process, the APCspecification limits may be set to +/−1.5 nanometers (nm). It isunderstood that the APC specification limits disclosed herein are mereexamples and may be set differently, and that different processes mayeach have its own APC specification limits.

The method 100 continues with block 115 in which data scoping isperformed. The block 115 determines which data can be used to establisha “matrix.” It may decide that in order to be in a matrix, all the dataneed to be associated with the same recipe. The data may come from thesame chamber (but different products) or the same product (but differentchambers).

The method 100 continues with block 120 in which a guessing model isestablished. A simple guessing model may have the form y=a*x+b, thoughit is understood that the guessing model may include a plurality ofother mathematical models, including the ANCOVA model and theexpectation maximization model discussed above, and/or other secondorder or third order equations. In other words, the guessing model canalso include any other suitable mathematical model. The guessing modelis initialized based on the results of the data scoping block 115. Aguessing model can be individually established for each of the emptycells of the matrix 50 shown in FIG. 2.

The method continues with block 125 in which the values ofCCR_by_part_min, CCR_self_min, and CCR_avg_min are optimized. Theseoptimized CCR values will ensure that the guessing models of the block120 will return values that meet the APC specification limit assigned inblock 110. The optimization of the CCR values involves the followingoptimization statement:

Define:

φ is the wafer distribution of part or product by chamber

ŷ(x|x∈φ) is the guessing function of the guessing model

λ(x,CCR_self_min,CCR_by_part_min|x∈φ) is function of wafer amount

${{CCR\_ avg}{\_ min}} = {\frac{\lambda \left( {x{x \in \phi}} \right)}{\lambda \left( {x{x \in I}} \right)} \propto \frac{1}{{{y(x)} - {\hat{y}(x)}}}}$

Solve:

max λ(x,CCR_self_min,CCR_by_part_min|x∈φ)st.|y(x)−ŷ(x)|x∈φ|<spec,CCR_self_min,CCR_by_part_min,CCR_avg_min

After the CCR values are optimized, the method 100 proceeds to adecision block 130 to evaluate whether or not the optimized CCR valuesare valid. In other words, the decision block 130 checks whether or notthe optimized CCR values would enable the product to stay within the APCspecification limit set by the block 110. If not, then the CCR valuesare not valid and needs to be optimized again, this time using adifferent guessing model. This process repeats until the optimized CCRvalues are confirmed to be valid. When that occurs, the method 100proceeds to the block 135, which is the deployment phase. In thedeployment phase, the APC results returned by the guessing model areused to perform one or more semiconductor fabrication processes towafers in chambers that previously had no APC data (the empty cells ofthe matrix 50). In comparison to the deployment phase, blocks 105-130 ofthe method 100 are considered to be in a developing phase, where noactual wafer processing is going on, and all the calculations associatedwith the various blocks are carried out by computers and/or otherautomated systems.

The CCR values optimization process is further illustrated in some ofthe following figures. FIGS. 4A and 4B are each a graphicalrepresentation of a matrix similar to the matrix 50 of FIG. 2. FIGS. 4Aand 4B each contain a plurality of rows and columns, whose intersectionsform grids (similar to the cells of the matrix 50). Some of the gridscontain a dot, while other grids are empty. The dot-containing grids aresimilar to the data-containing cells of the matrix 50, which means thatAPC data is available for the combination of that particular product andthat particular chamber. The grids that contain no dots are similar tothe empty cells of the matrix 50, which means that no APC data isavailable for the combination of that particular product and thatparticular chamber. These empty grids need to be filled by guessing thedata for them with the APC technique of the present disclosure.

Referring to FIG. 4A, it contains 11 rows (11 products) and 12 columns(chambers). Thus, the total number of available grids is 11×12=132. Thetotal number of dots in FIG. 4A is 49. Hence, the CCR_avg of FIG.4A=49/132=37.1%. Suppose the CCR_self_min is set to be 4/12 (or 33.3%),then FIG. 4A is transformed into FIG. 4B by downsizing the matrix ofFIG. 4A. In particular, the top row 170 and the bottom row 180 of FIG.4A each contain less than 4 data-containing grids out of 12 total grids,so they are eliminated. The resized matrix of FIG. 4B now contains 9rows and still 12 columns, and thus its total number of available gridsis now 9×12=108. The total number of dots in FIG. 4B is reduced to 44.Hence, the CCR_avg of FIG. 4B=44/108=40.7%. Recall that CCR_avgrepresents a confidence index. The transformation from FIG. 4A to FIG.4B indicates that the confidence index can be improved by changing theCCR criteria such as raising the threshold for CCR_self_min (orCCR_by_part_min).

Using FIGS. 4A-4B to illustrate the optimization statement discussedabove, cp in the optimization statement represents the distributionstatus of the dots in the grid of FIG. 4A, and λ represents the numberof dots in the grid. λ(x|x ε φ) represents the number of dot-containinggrids, and λ(x|x ∈ I) represents the total number of grids. Note thatthe number of dots does not necessarily correspond to the number ofwafers processed. For example, multiple wafers may be processed at aspecific chamber, but only the data of the most recent wafer is used,which is represented by the dot. Hence, a plurality of wafers processedat a chamber may yield only a single data point—the most recent one.

FIG. 5 is a flowchart of an optimization method 200 utilizing atop-to-down approach to optimize the various CCR values. The method 200includes block 210 in which a pilot run of sample lots is conducted. APCdata can be collected based on these sample lots. Hence, a matrixsimilar to the matrix 50 of FIG. 2 can be formed. The method 200continues with block 220 in which a designated empty cell of the matrixis filled. In other words, a guessing model is established to guess thevalue of that designated empty cell. The method 200 then continues toblock 230 in which the guessing value (also referred to as guessedvalue, or predicted value) is compared with the measured value for thatempty cell. The measured value can be obtained from simulation results,or from actual wafer measurements in the chamber.

The difference between the guessing value and the measured value isreferred to as an error. Referring to the optimization statement above,the error is mathematically expressed as |y(x)−ŷ*x)|, where y(x) is themeasure value, and ŷ(x) is the predicted or guessed value. From theoptimization statement, it can be seen that CCR_avg_min is inverselyproportional to the error. This means that as CCR_avg_min is optimized(increased), the error is reduced, and therefore the confidence index ofthe prediction is increased.

The method 200 then proceeds to a decision block 240, in which anevaluation is made to determine whether the error returned by block 230is within specification limits. If it is not, then the method 200proceeds to block 250, where the available data amount is reduced byraising CCR_self_min and CCR_by_part_min, similar to what was discussedabove in association with FIG. 4. Stated differently, by increasing thevalues of CCR_self_min and/or CCR_by_part_min, it makes it moredifficult for potentially unreliable data to get into the matrix. Hence,the matrix is downsized, and a prediction based on the downsized matrixwill have a higher confidence index associated therein. The predictionmay be made by adjusting the guessing model, for example giving itdifferent input values or using a different guessing model. As a resultof the matrix being downsized and the guessing model possibly beingchanged, the error returned by block 230 (when block 230 is executedagain after block 250) is likely reduced.

The above process may repeat a few times until the error returned byblock 230 is finally within specification limits. The method 200 thenproceeds to another decision block 260 to determine whether this processhas been performed for all lots. If the answer is no, then the method200 goes back to block 220 again. If the answer is yes, then the method200 proceeds to block 270 to evaluate the maximum or the optimizedCCR_self_min, CCR_by_part_min, and CCR_avg_min for all the sample lots.

With the optimized CCR values, an accurate APC model can be establishedfor all the empty cells in a matrix, and actual semiconductor processingfor the products/chambers corresponding to each cell can begin with thevalid and accurate APC model. For example, once the empty cell 81 of thematrix 50 of FIG. 2 is filled by performing the method 200 of FIG. 5, apoly etching process APC model is establish for the product TMZA26 atthe processing chamber 76, with only one try. Actual poly etchingprocesses can be performed for the product TMZA26 at the processingchamber 76, with the confidence that the APC specification limits willbe met. The engineers need not manually calculate and/or re-calculateAPC parameters.

The method 200 is referred to as a “top-to-down” approach because theoriginal raw matrix is the biggest—containing the most number of cells.As the method 200 is executed, the size of the matrix shrinks, and thevalue of CCR_avg_min increases from a relatively small value. TheCCR_avg_min that is finally settled on is deemed as the optimizedCCR_avg_min.

In comparison, FIG. 6 is a flowchart of an alternative optimizationmethod 300 for optimizing the CCR values. The optimization method 300utilizes a bottom-up approach that is somewhat opposite of the“top-to-down” approach illustrated in the method 200 of FIG. 5. Whereasthe top-to-down approach starts with a relatively small CCR_avg_minvalue and increases it by shrinking the matrix, the bottom-up approachstarts with a relatively large CCR_avg_min value and decreases it byexpanding the matrix. In more detail, the method 300 includes blocks 310and 320 that are similar to the blocks 210 and 220 of FIG. 5. The method300 then proceeds to block 325 to select the nearest neighbor of thecell that needs to be filled. The nearest neighbor of the cell thatneeds to be filled should have similar properties to that cell, eitherbecause they share the same chamber or belong to the same product. Atthis point, CCR_avg_min has a relatively high value, for example closeor equal to 100%.

Based on this relatively CCR_avg_min value—which is fairly restrictivebecause it limits the amount of data that can get into the matrix—themethod 300 proceeds to block 330 to evaluate the error between theguessing value and the measured value. Once again, the “measured” valuemay come from either simulation results or from actual wafer processingresults. Thereafter, a decision block 340 determines whether the erroris greater or smaller than the specification limits. Since CCR_avg_minstarted with a high value, at this point the error is almost certain tobe within the specification limits, in which case the method 300 wouldproceed to block 350 to expand the range of neighboring cells bydecreasing the values of CCR_self_min and CCR_by_part_min. Stateddifferently, block 350 makes it easier for data to qualify into thematrix.

In this fashion, the process above is repeated until the error isfinally outside the specification limits. At that point, the CCR valuesdetermined on the previous repetition would be deemed as optimizedvalues. The method 300 then executes blocks 360 and 370, similar to howthe method 200 executes blocks 260 and 270 in FIG. 5.

FIG. 7 is a table 400 that shows optimization iterations using atop-to-down approach (illustrated in FIG. 5) for some example waferlots. The table 400 includes columns 410-460. Column 410 includesdifferent example wafer lots, such as N2K555.J0, N2K736.00, N2G501.00,etc. Column 420 includes the CCR_self_min values associated with eachwafer lot at different stages of optimization. Column 430 includes theCCR_by_part_min values associated with each wafer lot at differentstages of optimization. Column 440 includes the values that are supposedto fill in the empty cells (e.g., value of “b” of y=a*x+b). Column 450includes the CCR_avg_min values at different stages of optimization.Column 460 includes values of the offset error, whose magnitude orabsolute value is desired to be less than the predefined specificationlimits (e.g. <=1.5).

The CCR optimization process is discussed using rows 470-490 as anexample. Starting with row 470, the CCR_self_min value is set to be 0.05for the lot N2K555.J0, and the CCR_by_part_min value is set to be 0.1.At this stage, the error offset is −2.2, which means its magnitude (2.2)is greater than the specification limit of 1.5. Therefore, the CCRvalues are not optimized yet. Thereafter, in row 480, the CCR_self_minvalue is maintained the same, but the CCR_by_part_min value is increasedto 0.15. At this time, the error offset value is reduced to −1.8445,which is closer to the specification limit than before, but still notmeeting it. At the next iteration in row 490, CCR_self_min still staysthe same, but CCR_by_part_min is increased to 0.3. At this point, theerror offset value is −1.4935, which means its magnitude is finallywithin the specification limit of 1.5. Thus, the optimization processresults in an optimized CCR_self_min value of 0.05, an optimizedCCR_by_part_min value of 0.3, and an optimized CCR_avg_min value of0.5556. It is understood that a theoretical value of 0.15 may also workfor the optimized CCR_by_part_min, and that the value of 0.3 forCCR_by_part_min may represent a more practical value with some “buffers”built in.

For the following wafer lots, such as wafer lot N2K736.00, N2G501.00,etc, the optimized CCR_by_part_min value of 0.3 is used as well. It canbe observed that the optimized CCR_by_part_min value of 0.3 will yielderror offset values that are within the specification limit of 1.5 forthese other lots too. The rows that show CCR_by_part_min having valuesother than 0.3 are just shown for providing extra examples. These othervalues do not represent the optimized CCR_by_part_min value.

These CCR optimization calculations relate to the developing phase(discussed in association with FIG. 3). Afterwards, in the deploymentphase (when the wafers are actually processed), the optimized CCR valuesare no longer being re-calculated. The optimized CCR_self_min andCCR_by_part_min values are still used to resize the matrix. In a sense,they serve to filter the data that can come into the matrix. Meanwhile,the optimized CCR_avg_min value is used to determine if the predictioncan be trusted. For example, if the CCR_avg_min is not met in thedeployment phase, then that indicates the confidence level is notsufficiently high for the predicted APC model, and therefore thepredicted model will not be used.

FIG. 8 illustrates an integrated circuit fabrication system 500. Thefabrication system 500 includes a plurality of entities 502, 504, 506,508, 510, 512, 514, 516 . . . , N that are connected by a communicationsnetwork 518. The network 518 may be a single network or may be a varietyof different networks, such as an intranet and the Internet, and mayinclude both wire line and wireless communication channels.

In an embodiment, the entity 502 represents a service system formanufacturing collaboration, the entity 504 represents an user, such asproduct engineer monitoring the interested products, the entity 506represents an engineer, such as a processing engineer to control processand the relevant recipes, or an equipment engineer to monitor or tunethe conditions and setting of the processing tools, the entity 508represents a metrology tool for IC testing and measurement, the entity510 represents a semiconductor processing tool, the entity 512represents a virtual metrology module associated with the processingtool 510, the entity 514 represents an advanced processing controlmodule associated with the processing tool 510 and additionally otherprocessing tools, and the entity 516 represents a sampling moduleassociated with the processing tool 510.

Each entity may interact with other entities and may provide integratedcircuit fabrication, processing control, and/or calculating capabilityto and/or receive such capabilities from the other entities. Each entitymay also include one or more computer systems for performingcalculations and carrying out automations. For example, the advancedprocessing control module of the entity 514 may include a plurality ofcomputer hardware having software instructions encoded therein. Thecomputer hardware may include hard drives, flash drives, CD-ROMs, RAMmemory, display devices (e.g., monitors), input/output device (e.g.,mouse and keyboard). The software instructions may be written in anysuitable programming language and may be designed to carry out specifictasks, such as the tasks associated with optimizing the CCR values asdiscussed above.

The integrated circuit fabrication system 500 enables interaction amongthe entities for the purpose of integrated circuit (IC) manufacturing,as well as the advanced processing control of the IC manufacturing. Inan embodiment, the advanced processing control includes adjusting theprocessing conditions, settings, and/or recipes of one processing toolapplicable to the relevant wafers according to the metrology results. Inanother embodiment, the metrology results are measured from a subset ofprocessed wafers according to an optimal sampling rate determined basedon the process quality and/or product quality. In yet anotherembodiment, the metrology results are measured from chosen fields andpoints of the subset of processed wafers according to an optimalsampling field/point determined based on various characteristics of theprocess quality and/or product quality.

One of the capabilities provided by the IC fabrication system 500 mayenable collaboration and information access in such areas as design,engineering, and processing, metrology, and advanced processing control.Another capability provided by the IC fabrication system 500 mayintegrate systems between facilities, such as between the metrology tooland the processing tool. Such integration enables facilities tocoordinate their activities. For example, integrating the metrology tooland the processing tool may enable manufacturing information to beincorporated more efficiently into the fabrication process or the APCmodule, and may enable wafer data from the online or in site measurementwith the metrology tool integrated in the associated processing tool.

The embodiments of the present disclosure offer advantages over priormethods, it being understood that other embodiments may offer differentadvantages, and that no particular advantage is required for allembodiments. One advantage of the embodiments of the present disclosureis that the fabrication time can be reduced. As discussed above, humanengineers need to perform manual calculations previously, whereas noweverything can be automated by computers. Also, the present disclosureoffers more accurate results because the results are systematically andempirically determined, and therefore are not dependent on theexperience and skills of the engineer in previous methods. As such,reduction can be achieved for cycle time and workload, and a turn ratiocan be increased.

One of the broader forms of an embodiment of the present disclosureinvolves a method. The method includes: gathering advanced processcontrol (APC) data from a subset of available wafers and a subset ofavailable processing chambers; establishing a matrix that contains aplurality of cells, the cells each corresponding to one of the availablewafers and one of the available processing chambers, wherein theestablishing the matrix includes partially filling the matrix bypopulating cells for which the APC data has been gathered; determining aplurality of chamber-coverage-rate (CCR) parameters associated with thematrix; optimizing the CCR parameters through an iteration process toobtain optimized CCR parameters; and predicting an APC data value for adesignated cell of the matrix based on the optimized CCR parameters, thedesignated cell being an empty cell before the predicting and beingpopulated by the predicting.

Another one of the broader forms of an embodiment of the presentdisclosure involves a method. The method includes collecting advancedprocess control (APC) data for each of a plurality of product-chambercombinations, each product-chamber combination indicating a particularproduct being processed at a particular semiconductor processingchamber; establishing a prediction model for an additionalproduct-chamber combination, the prediction model being operable topredict APC data for the additional product-chamber combination;extracting a plurality of chamber-coverage-rate (CCR) ground rules basedat least in part on the collecting; determining whether the CCR groundrules would allow the APC data predicted by the prediction model tosatisfy a predefined criteria; modifying at least one of the CCR groundrules in response to the determining; repeating the determining and themodifying until the modified CCR ground rules would allow the APC datapredicted by the prediction model to satisfy the predefined criteria,thereby obtaining optimized CCR ground rules; and predicting APC datafor a plurality of further product-chamber combinations using theoptimized CCR ground rules.

Yet another one of the broader forms of an embodiment of the presentdisclosure involves an apparatus that includes a non-transitory,tangible computer readable storage medium storing a computer program.The computer program has instructions that when executed, carry out:gathering advanced process control (APC) data from a subset of availablewafers and a subset of available processing chambers; establishing amatrix that contains a plurality of cells, the cells each correspondingto one of the available wafers and one of the available processingchambers, wherein the establishing the matrix includes partially fillingthe matrix by populating cells for which the APC data has been gathered;determining a plurality of chamber-coverage-rate (CCR) parametersassociated with the matrix; optimizing the CCR parameters through aniteration process to obtain optimized CCR parameters; and predicting anAPC data value for a designated cell of the matrix based on theoptimized CCR parameters, the designated cell being an empty cell beforethe predicting and being populated by the predicting.

The foregoing outlines features of several embodiments so that thoseskilled in the art may better understand the aspects of the presentdisclosure. Those skilled in the art should appreciate that they mayreadily use the present disclosure as a basis for designing or modifyingother processes and structures for carrying out the same purposes and/orachieving the same advantages of the embodiments introduced herein.Those skilled in the art should also realize that such equivalentconstructions do not depart from the spirit and scope of the presentdisclosure, and that they may make various changes, substitutions, andalterations herein without departing from the spirit and scope of thepresent disclosure.

1. A method, comprising: gathering advanced process control (APC) datafrom a subset of available wafers and a subset of available processingchambers; establishing a matrix that contains a plurality of cells, thecells each corresponding to one of the available wafers and one of theavailable processing chambers, wherein the establishing the matrixincludes partially filling the matrix by populating cells for which theAPC data has been gathered; determining a plurality ofchamber-coverage-rate (CCR) parameters associated with the matrix;optimizing the CCR parameters through an iteration process to obtainoptimized CCR parameters; and predicting an APC data value for adesignated cell of the matrix based on the optimized CCR parameters, thedesignated cell being an empty cell before the predicting and beingpopulated by the predicting.
 2. The method of claim 1, further includingperforming a semiconductor fabrication process for the wafer in theprocessing chamber that correspond to the designated cell.
 3. The methodof claim 1, further including predicting APC data values for all emptycells of the matrix based on the optimized CCR parameters.
 4. The methodof claim 1, wherein the optimizing the CCR parameters includes resizingthe matrix.
 5. The method of claim 1, further including establishing aguessing model for the designated cell, wherein the predicting the APCdata value is carried out using the guessing model.
 6. The method ofclaim 5, wherein the optimizing the CCR parameters includes: comparing aguessed APC value returned by the guessing model with a measured APCvalue, thereby obtaining an error; deciding whether the error meetspredetermined APC specification limits; and adjusting the CCR parametersin response to the deciding.
 7. The method of claim 6, further includingadjusting the guessing model in response to the deciding.
 8. The methodof claim 1, wherein the CCR parameters include: a first CCR parameterpertaining to which cells of the matrix can be used as valid referencecells to carry out the predicting; a second CCR parameter pertaining towhether a product associated with the designated cell has gone throughprocessing at a sufficient number of processing chambers so as to makethe predicting valid; and a third CCR parameter pertaining to aconfidence index of the predicting.
 9. The method of claim 1, whereinthe optimizing is carried out using one of: a top-to-down approach and abottom-up approach.
 10. The method of claim 1, wherein all the cells ofthe matrix are associated with the same semiconductor fabricationprocess.
 11. A method, comprising: collecting advanced process control(APC) data for each of a plurality of product-chamber combinations, eachproduct-chamber combination indicating a particular product beingprocessed at a particular semiconductor processing chamber; establishinga prediction model for an additional product-chamber combination, theprediction model being operable to predict APC data for the additionalproduct-chamber combination; extracting a plurality ofchamber-coverage-rate (CCR) ground rules based at least in part on thecollecting; determining whether the CCR ground rules would allow the APCdata predicted by the prediction model to satisfy a predefined criteria;modifying at least one of the CCR ground rules in response to thedetermining; repeating the determining and the modifying until themodified CCR ground rules would allow the APC data predicted by theprediction model to satisfy the predefined criteria, thereby obtainingoptimized CCR ground rules; and predicting APC data for a plurality offurther product-chamber combinations using the optimized CCR groundrules.
 12. The method of claim 11, further including performing asemiconductor fabrication process for each of the plurality ofadditional product-chamber combinations using their respective predictedAPC data.
 13. The method of claim 11, wherein the CCR ground rulesinclude: CCR_by_part_min, CCR_self_min, and CCR_avg_min.
 14. The methodof claim 11, wherein the modifying is carried out using one of: atop-to-down approach and a bottom-up approach.
 15. The method of claim11, wherein the predefined criteria include predefined APC specificationcontrol limits.
 16. An apparatus comprising: a non-transitory, tangiblecomputer readable storage medium storing a computer program, wherein thecomputer program has instructions that when executed, carry out:gathering advanced process control (APC) data from a subset of availablewafers and a subset of available processing chambers; establishing amatrix that contains a plurality of cells, the cells each correspondingto one of the available wafers and one of the available processingchambers, wherein the establishing the matrix includes partially fillingthe matrix by populating cells for which the APC data has been gathered;determining a plurality of chamber-coverage-rate (CCR) parametersassociated with the matrix; optimizing the CCR parameters through aniteration process to obtain optimized CCR parameters; and predicting anAPC data value for a designated cell of the matrix based on theoptimized CCR parameters, the designated cell being an empty cell beforethe predicting and being populated by the predicting.
 17. The apparatusof claim 16, wherein the computer program has a set of additionalinstructions that when executed, carry out predicting APC data valuesfor all empty cells of the matrix based on the optimized CCR parameters.18. The apparatus of claim 16, wherein the computer program has a set ofadditional instructions that when executed, carry out establishing aguessing model for the designated cell, wherein the predicting the APCdata value is performed using the guessing model.
 19. The apparatus ofclaim 16, wherein the instructions that carry out the optimizing the CCRparameters include instructions that carry out resizing the matrix. 20.The apparatus of claim 16, wherein the instructions that carry out thedetermining the plurality of CCR parameters include instructions fordetermining a CCR_by_part_min parameter, a CCR_self_min parameter, and aCCR_avg_min parameter.